Technologies for encoding of documents in alternate digital formats have been known for some time. Archival formats like .zip and .tar are well-known examples. A zip archive is a single, self-contained file in its own right; a first-class document as far as a computer operating system is concerned. But a zip file is actually a re-encoding of one or more source files that have been compressed and concatenated by a host program that understands the zip format. When a zip file is decoded, the constituent files are recovered in their natively encoded state.
In some instances, technologies exist relative to multiple devices, processes, or actors having an interest in safeguarding a payload that is wrapped, countersigned, or multiply encoded. In this case, the encodings are done in such a manner as to require the participation of all the various original actors or devices in recovering the original payload and using it for its intended purpose. Substantial art in this area exists around digital rights management (DRM). However, such art often suffers from a high degree of complexity in terms of requiring multiple wrappers and multiple signatures, and/or other complexities of encoding arising from the special construction of files.
Still other technologies oriented toward multi-party scenarios provide techniques of parallel encoding of pieces of a single document, a so-called concurrent processing approach. Such techniques rely on an ability to divide a document or data stream into individual, independent pieces that, once processed, are stitched together after the fact to create the desired encoded outcome. These divide-and-conquer techniques may be appropriate for cases where the desired output is a straightforward linear concatenation of parts that can be individually encoded without any streamwise dependencies on each other, but they have shortcomings in situations (such as certain cryptographic scenarios) where it is deemed essential that the encoding of any one block of output is dependent on the content of the block that preceded it. The informational entanglement that results when a cipher relies on recently processed output for next-block or next-byte encoding gives rise to what is known in the encryption field as the “waterfall property.” This means that if any single bit in a source file is flipped, all downstream bits in the encoded (output) file are potentially affected, making it very likely that the outcome will be substantially different from what it would have been. This is a desirable property for many encryption scenarios. It means that no single segment of the encrypted output can be decoded independently of the segments that came before. The many encryption technologies that rely on this property cannot be carried out in a parallel-processing manner. By definition, parallel processing relies on discrete, separable, independent pieces of work that can be joined together in a single outcome. It is evident that in a two-way encoding/decoding scenario, any piece of a file that can be encoded without regard to the particular encoding of another piece, can also be decoded without regard to another piece, thus destroying the waterfall property.
Further techniques are also known that relate to collaborative transactions or control of documents between multiple parties. In the former, techniques exist for electing certain parties as chair of a group of members with authority, at the expense of the members, to select non-group members, e.g., invitees, to join the group upon proper handshaking. This, however, elevates certain parties over others and gives undue authority to them, which can be sometimes easily compromised. In the latter, techniques exist for apportioning documents into prefix and data sections whereby only ordained group members can access the data sections and do so via the prefix section. The prefix also supports collaborative signatures for identifying individual changes and timing of changes. This, however, creates complexity in the document itself. It also creates undue complexity with the signature scheme.
Nonrepudiation of transactions (the ability to offer proof that a certain party entered into a transaction) is increasingly important in e-commerce. The principal enabling technology for nonrepudiation, in current art, is the “digital signature” (which is notionally analogous to the everyday pen-and-ink signature). Payloads can be digitally signed by one or more parties to show prior possession and/or facilitate detection of data corruption/tampering after a signed message has been sent. Techniques for this are well known. Digital signature technology, however, comes with no particular assumptions around choreography or interaction. The act of applying a signature to something captures that solitary act, but it does not in itself capture the fact of prior two-way interaction between parties. The fact of intentional two-way interaction must be inferred from discrete elements: tokens, assertions, timestamps, digital signatures, session logs, digests, and/or other items (some of which might not be retained after the transaction). Although such shared artifacts, if co-packaged together, might be logically related, they are generally separable physically.
Accordingly, there are needs in the art of encoding and decoding data for simple, yet effective multi-party processing of digital data. The need extends to entangling and disentangling parties in the process such that their actions attest to cooperation between the parties thereby avoiding need for signatures or other identifiers; in other words, an attestation of cooperation should be discernible in the structure of the document. Any processing methods or enabling techniques in this area should also be feasible in real-time and contemplative of good engineering practices, such as relative inexpensiveness, stability, ease of implementation, or the like.